File name 19771017_Mesa_3.0_Binder_Update.pdfInter-Office Memorandum
To Mesa Users Date October 17,1977
From R. Johnsson, 1. Wick Location Palo Alto
Subject Mesa 3.0 Binder Update OrganizatIOn SOOISO
XEROX
Filed on: [MAXC] MESABINDER30.BRAVO
In this release, the binder has been changed substantially; a considerable improvment in
performance has been realized as a result. The bulk of the processing is now performed by
the binder prior to loading; the binder therefore operates as a separate subsystem, which is
quite similar in nature to the compiler (it deals with entire modules instead of individual
statements).
Input to the binder consists of a set of compiled modules and a configuration description
which specifies what modules should be included and how they are to be bound. Output of
the binder is a single binary configuration description (BCD) in which bindings among its
modules are resolved and encoded in a form that can be quickly patched up by the loader.
Preparation of input for the binder is described in other documentation accompanying this
release (in the language manual and the compiler memo), as is the processing of its output
by the loader (the New command). This memo outlines the operation of the binder and the
various options that are avai lable.
Running the Hinder
The binder processes a configuration description (the soufce) and creates a BCD file (and
optionally other files containing code and symbol tables). It takes commands either from
the command line or interactively from the keyboard. Commands are of the form
source[ls file/s file/s]
where [] indicates optional parts. The valid switches are
Id - enter debugging mode
Ic - copy code segments to this file
10 - give this name to the output BCD file
Is - copy symbol segments to this file
Ix - copy compressed symbols to this file
Ig - begin processing the precceding files
While debugging, the "normal" mode of operation is to not copy code or symbol segments
into the BCD (the default; no switches), but to leave them in the files generated by the
compiler. This saves disk space and requires the least binding time; on the other hand,
loading and debugging (and code swapping) may be a bit slower, since there are many more
files to be looked up and accessed.
Mesa 3.0 Binder Update 2
For "distribution", code andlor symbols can be copied into the output file by using the
corresponding switch on the source file name (not on the output file name). Alternately,
they can be copied into different code or symbols files by giving the file name and switch
following the source file name. It is a good idea to package the symbols of your subs |